// 验证jwt 
// 得到jwt策略
const JwtStrategy=require('passport-jwt').Strategy

// jwt扩展
const ExratcJwt=require('passport-jwt').ExtractJwt
const Users=require('../Schema/userSchema')

const opts={}
// 从客户端发送过来的token验证
opts.jwtFromRequest =ExratcJwt.fromAuthHeaderAsBearerToken()

// 定一个密钥，私钥 只有服务端知道
opts.secretOrKey='secret'

// 回调函数
module.exports=passport=>{

  passport.use(new JwtStrategy(opts,(jwt_payload,done)=>{
        Users.findById(jwt_payload.id)
        .then(user=>{
         
          if (user) {
             return done(null,user)
          }
          return done(null,false)
        }).catch(err=>console.log(err))
  }))
}